When a user requests a web page or other content page via a browser, the user typically experiences a noticeable delay before the page is fully or even partially displayed. Various factors can contribute to this delay. These factors include, for example, (1) the speed of the wireless or wired connection between the user's device and the Internet, (2) the location of, and load on, the origin server that hosts the page, (3) the size of the page, including any embedded graphics, (4) whether, and the extent to which, the page includes embedded objects that need to be separately retrieved (possibly from different domains) once the page's HTML has been loaded, (5) the complexity of the page's coding, including any scripts, and (6) the processing power of the user's device. When the delay is significant (e.g., several seconds or more), the task of browsing can be frustrating for users.
Various methods exist for reducing the delay experienced by users. Some methods include the use of caching proxy servers, which store recently-retrieved versions of content and provide the content to users faster than origin servers. For example, a caching proxy may be located closer (in either a geographic or networking sense) to a client device, or the caching proxy may have a faster network connection to the client device or the origin server. Origin servers may also deploy certain content onto content delivery network (“CDN”) servers. Client devices requesting the content may be directed to the closest CDN server or to a CDN server that can otherwise provide the requested content faster than the origin server. Other methods of reducing the delay experienced by users include the use of proxy servers or other intermediary systems that compress or re-format content. Such processed content may be transferred to client devices faster, or may require less processing by the client devices to render the content.